home *** CD-ROM | disk | FTP | other *** search
/ Commodore Free 26 / Commodore_Free_Issue_26_2009_Commodore_Computer_Club.d64 / -part 2 next >
Text File  |  2023-02-26  |  10KB  |  328 lines

  1. u         IN THE BEGINNING 11
  2.                 part 2
  3.             by Lord Ronin
  4.  
  5. OK but we have to tell the sprite to
  6. do that, and that is done in line 80.
  7. Where we have pokev+4,x. Same as line
  8. 40. But here the x variable is the 0
  9. to 63. See how that works? First the x
  10. variable is the 0 to 255, and then it
  11. becomes the 0 to 63. This takes us the
  12. rest of the way across the screen.
  13.  
  14. Final part of that piece is line 90.
  15. Where we have the next for the
  16. for-next loop. Since there isn't any
  17. variable in use past the x one, there
  18. isn't a need to tell the for next loop
  19. to do a next x. Computer has that as
  20. implied, we didn't give it any other
  21. variable to work with at that time.
  22.  
  23.  New at line 100, looks kind of
  24. familiar, here we poke v+16,0. Well we
  25. got the poke part and the v variable
  26. part, just started to understand the
  27. +16 part. You remember turning on the
  28. MSB. What the frell does that 0 mean?
  29. A big nothing? Sort of, remember back
  30. a bit when we were doing the chart
  31. stuff. Like the sprite drawings? There
  32. it was a 1 meant something was there
  33. or turned on, while a 0 meant that
  34. there was nothing there or turned off,
  35. on this line that 0 means that we are
  36. turning off that MSB part of the
  37. sprite. That allows the whole thing to
  38. start over again, with line 110 in the
  39. goto command.
  40.  
  41. But here is what they say in regards
  42. to defining multiple sprites, we may
  43. need additional blocks for the sprite
  44. data, OK I can follow that part. As I
  45. suspect that this is the beginning of
  46. how to have more than 8 sprites.
  47. Remember that 8 are all that can be
  48. active at one time; you can have
  49. others in the "wings" waiting to be
  50. used though. They then tell us that we
  51. can use some of the "Basic's RAM by
  52. moving Basic, before typing or loading
  53. your programme type:" Get to that in a
  54. moment.
  55.  
  56. POKE44,16:POKE16*256,0:NEW
  57.  
  58.  This sets up to use blocks 32 through
  59. 41, these are memory locations 2048
  60. through 4095, "To store sprite data."
  61. Right 64 bytes for each sprite, I am
  62. not sure of the block part or the 1044
  63. memory locations that exist in the
  64. above. Suffice that it works and gives
  65. you more areas for your sprites. You
  66. may remember that 2040 is the memory
  67. for sprite 0, making sprite 8 at 2047,
  68. this starts one off at the spot right
  69. after sprite #8. Anyway feel free to
  70. play with some of the numbers in the
  71. program above and see what happens.
  72.  
  73.  Add at this point sprites are more
  74. than we have seen here in the series
  75. and the user's book; I haven't talked
  76. about controlling them with the
  77. joystick or keyboard, nor anything
  78. about multicolour sprites. I haven't
  79. even talked about multicolour custom
  80. fonts either, none of that is in the
  81. users manual.
  82.  
  83.  Now back to the book and their
  84. beginnings on binary math. We actually
  85. have been doing some of this without
  86. knowing it with those charts for the
  87. balloon and sprite locations, that on
  88. and off part. Well we aren't going to
  89. spend a lot of time on this part; I
  90. had it and failed it in college. First
  91. we have some terms to explain; well
  92. the book starts out that way in this
  93. area. BIT is the smallest part of
  94. information that the computer can
  95. store, basically something is there or
  96. not, the on/off thing. If there is
  97. something there, the value is 1. If it
  98. is empty then the value is 0. Right
  99. like those chart things earlier for
  100. the sprite creation and location
  101. stuff. The book goes into a BYTE next,
  102. this is a series of BITS, since we are
  103. an 8 bit machine; A BYTE for us is
  104. composed of 8 bits. Hmm wasn't the
  105. number of slots in that sprite row,
  106. and say isn't that the same amount of
  107. sprites that can be on the screen
  108. active?
  109.  
  110.  OK now I have to add some information
  111. that isn't in the book, because you
  112. may have heard the terms in regards to
  113. the C= in the past. NIBBLE, isn't in
  114. the book, the term comes from crackers
  115. and hackers, so I was told by some of
  116. them. NIBBLE is 4 BITS, yeah half a
  117. BYTE. This is one of the early copy
  118. systems, called a nibbler. Sorry we
  119. had it before the Futurama show, but
  120. then again Matt tosses in a lot of
  121. C=64 things in that show. Back on
  122. topic; You may find in your disk
  123. collection that you have a tool called
  124. a "nibble copy" or a "nibbler", That
  125. will copy a disk at 4 bits at a time,
  126. this Broke early copy protection.
  127.  
  128.  Another word that you have heard in
  129. here in the early part, and will see
  130. on your disks, is a BLOCK. Commodore
  131. measures things in BLOCKS, as I said
  132. before. We have been doing things with
  133. bits most recently; I wanted to let
  134. you know that these measurements of
  135. block and bits/bytes will be tossed
  136. around a lot, and Used by users,
  137. programmers, coders, manufacturers and
  138. more. Gets real confusing at times,
  139. when they start tossing out KiloBytes,
  140. Bytes and blocks; For the record a C=
  141. block is a 256 bit unit. Roughly 4 of
  142. them will make 1 kilobyte.
  143.  
  144.  Saying all of that trivia, here is
  145. your next thing to play upon; On the
  146. regular screen, save the balloon stuff
  147. if you wish, I want you to do some
  148. simple math problems. We are going to
  149. raise a number, What I want you to do
  150. is type in ...
  151.  
  152. ? 20 <and then press return>
  153.  
  154.  Now then just cursor up and over the
  155. 0 and change it to a 1, then a 2 a 3 a
  156. 4 a 5 a 6 and finally a 7. You will
  157. see that it goes the same 1 through
  158. 128 values we have dealt with before.
  159. I just think that this is easier than
  160. making the chart in the book to show
  161. you the same smegging thing. Now there
  162. is a program to type in and I strongly
  163. suggest that you save this one.
  164.  
  165. 5 rem binary to decimal converter
  166. 10 input"enter 8-bit binary
  167.    number:";a$
  168. 12 iflen(a$)<>8then?"8 bits
  169.    please...":goto10
  170. 15 tl=0:c=0
  171. 20 forx=8to1step-1:c=c+1
  172. 30 tl=tl+val(mid$(a$,c,1))*2(x-1)
  173. 40 nextx
  174. 50 ?a$;"binary ";" = ";tl;"decimal"
  175. 60 goto10
  176.  
  177.  Line 30 is the one that most of the
  178. group here, self included, frell up.
  179. Forgetting to do )) after the 1 and
  180. before the *. The programme will take
  181. an 8 character binary number, like
  182. 11111111 and tell you what the decimal
  183. value of it is, and for here it is
  184. 255. There are a couple new commands
  185. in this one that are lightly discussed
  186. in the book, VAL is for VALue, Gives
  187. us the actual value of the character
  188. as a numeric form. MID$, also called
  189. "mid-string", and takes a look at each
  190. character in the string, from left to
  191. right. C variable in that string in
  192. line 30 tells the program what
  193. character to work upon as the program
  194. goes through the loop. There is a lot
  195. more to the usage of these two new
  196. commands. Not all that needed for this
  197. level of understanding. Last part of
  198. that line raises the number to a power
  199. of 2. That x-1 just keeps it in track,
  200. Starting off at 27 and each time
  201. through the loop dropping by one, till
  202. it reaches 20. Locale group lesson is
  203. to count on this thing from 0 to 255,
  204. in decimal, by typing the binary
  205. values, sounds tough I know; and it
  206. took me two hours the first time,
  207. however there is a pattern. If you
  208. have that chart at hand, the one that
  209. starts at the left with 128 and ends
  210. with 1 on the right, You can see the
  211. pattern a lot faster.
  212.  
  213.  Page 79 starts on sound creating, the
  214. book ends at 103, starting all the
  215. appendices. Lot to cover and we aren't
  216. going to make it at all; No reason too
  217. either. If you have followed through
  218. to this to this point, you understand
  219. that there is a lot more to
  220. programming than we can cover in these
  221. instalments'. Just for Basic, let's
  222. not mention other forms of programming
  223. languages. You may have also thought
  224. that you are not interested in
  225. programming; in either case there are
  226. other sources than just my lame
  227. drivel.
  228.  
  229.  Sound is not a something that I am
  230. not comfortable with at this time. Not
  231. because I can't read music to some
  232. degree, no because there is a lot of
  233. complicated things here for the
  234. beginner; and the fact that not all of
  235. the 64 user manual examples work on
  236. the later SID chip, Like this 128Dcr I
  237. am using.
  238.  
  239. What I am going to do is lay out some
  240. type in things that did work on this
  241. C=PC. Leaving off a lot of
  242. explanations and just having you see
  243. that you can make sounds on the
  244. system. Big books cover this topic
  245. better than I or this manual can/did.
  246.  
  247.  Like I said earlier on, and for
  248. sprites as well; there are programming
  249. tools that will do this work for you.
  250. One I did was just put the note on the
  251. staff and select the musical
  252. instrument, sound effects may be a bit
  253. harder for games, or not. The book
  254. tells us about the ADSR; The Attack
  255. Delay Sustain and Release of the
  256. sound, the waveform control and hi/lo
  257. frequency. First three settings are
  258. generally done just once for the
  259. programme, Hi/Lo is done for each note
  260. and waveform is the start and stop for
  261. each note. That said, the first type
  262. in thing in the book failed on the 64c
  263. and on the 128Dcr in 64 mode: But the
  264. next one worked, and they did some
  265. additives for different sounds in the
  266. instructions, OK type in the
  267. following... without my comments
  268.  
  269. 5 rem musical scale
  270. 7 forl=54272to54296:pOl,0:next
  271. 10 pO54296,15 <that sets the volume to
  272. the highest level of 15>
  273. 20 pO54277,9 <sets the attack & decay>
  274. 30 pO54276,17 <determines the
  275. waveform, or type of sound>
  276. 40 fort=1to300:next <duration of the
  277. sound>
  278. 50 reada <reads first number in data
  279. statement on line 110>
  280. 60 readb <reads 2nd number in data
  281. statement on line 110>
  282. 70 ifb=-1thenend <turns off at value
  283. in line 900>
  284. 80 pO54273,a:pO54272,b <pokes first
  285. data number as the hi frequency and
  286. 2nd number as lo frequency>
  287. 85 pO54276,17 <starts the note>
  288. 90 fort=1to250:next:pO54276,16 <play
  289. and stop the note>
  290. 95 fort=1to50:next <release time>
  291. 100 goto20 <loops back for new note>
  292. 110 data17,37,19,63,21,154,22,227
  293. <musical note vales, listed in book>
  294. 120 data25,177,28,214,32,94,34,175
  295. <Each of these pairs is one note>
  296. 900 data-1,-1 <turns off hi/lo and
  297. ends the prg>
  298.  
  299.  Not a great explanation. They take a
  300. few pages to explain things, run the
  301. program and you should hear an 8 note
  302. musical scale. Once tired of that,
  303. change line 85 to read pO54276,33 and
  304. 90 to fort=1to250:next:pO54276,32.
  305. You'll get a sort of harpsichord
  306. sound.
  307.  
  308.  This is just one of the three voices
  309. and a couple of the different
  310. waveforms that can be used. Scare you
  311. now with the added information that
  312. there are those that have added a
  313. second SID chip, or a cart and do this
  314. in Stereo. Most popular music player
  315. for the c= 64 is the Stereo SID
  316. player, OK one last one that worked, A
  317. sound effect to try out. For a gun
  318. shot
  319.  
  320. 10v=54296:w=54276:a=54277:
  321.   h=54273:l=54272
  322. 20 forx=15to0step-1:pOv,x:pOw,129:
  323.    pOa,15:pOh,40:pOl,200:next
  324. 30 pOw,0:pOa,0
  325.  
  326. Continued Next Month
  327.  
  328.  
  329.